--[[
-- Author:      feilong
-- DateTime:    2018-04-23 17:19:33
-- Description:
    1.监听所有的客户端消息
	2.根据协议派发到对应的M中

	参考
    那么gate/agent/watchdog三者的关系是什么？还是从网络请求的处理过程来讲比较直观，首先一个连接进来，先到gate，gate会给watchdog发一个请求。
    watchdog就会启动一个agent。
    agent启动以后会给gate发个请求forward，gate就会给连接加上agent属性。
    当这个连接再有数据进来的时候，还是经过gate，但是gate检查到这个连接已经有agent属性以后，数据就直接发给agent了，不会再发给watchdog。
    作者：天一阁图书管理员
    链接：https://www.jianshu.com/p/d9ecdf852dcb


--]]

local skynet = require("skynet")
--local websocket = require "http.websocket"
---------------------------------------------------------
-- class
---------------------------------------------------------
local M = class("M")

function M:ctor(name)
    self.handler = new("watchdog.handler")
    skynet.register_protocol({
        name = "client",
        id = skynet.PTYPE_CLIENT,	-- PTYPE_CLIENT = 3
    })

    self:register()
end

function M:register()
    local server_config = g.getServerConf()
    local proto_cfg = server_config.proto
    g.codec = new("network.proto.codec", proto_cfg)

    g.dispatch:register('start', handler(self, self.onStart))
    g.dispatch:register('close', handler(self, self.onClose))

end

function M:onStart(data)

    return true
end

function M:onClose()
    return true
end



return M